package com.xiaoshuidi.cloud.module.report.controller.finance.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import static com.xiaoshuidi.cloud.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;


@Setter
@Getter
public class ReportFeeRespVO implements Serializable {
    /**
     * 房间名称
     */
    @Schema(description = "房间名称")
    private String roomName;
    /**
     * 面积
     */
    @Schema(description = "面积")
    private Double space;
    /**
     * 承租人
     */
    @Schema(description = "承租人")
    private String customerName;
    /**
     * 交易方式
     */
    @Schema(description = "交易方式")
    private String payMethod;

    /**
     * 到账时间
     */
    @Schema(description = "到账时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = TIME_ZONE_DEFAULT)
    private LocalDateTime paymentDate;

    /**
     * 实收水费
     */
    @Schema(description = "实收水费")
    private BigDecimal waterFeeAmount;
    /**
     * 实收电费
     */
    @Schema(description = "实收电费")
    private BigDecimal electricityFeeAmount;
    /**
     * 实收停车费
     */
    @Schema(description = "实收停车费")
    private BigDecimal parkFeeAmount;
    /**
     * 实收其他
     */
    @Schema(description = "实收其他")
    private BigDecimal otherFeeAmount;
    /**
     * 手续费率
     */
    @Schema(description = "手续费率")
    private Double handlingFeeRate;
    /**
     * 收款手续费
     */
    @Schema(description = "收款手续费")
    private BigDecimal collectionFee;
    /**
     * 收款合计
     */
    @Schema(description = "收款合计")
    private BigDecimal actualAmount;
}
